#ifndef _MCGUIRE_MUTEX_H_
#define _MCGUIRE_MUTEX_H_

#include "Mutex.h"
#include "McGuireMutex.h"
#include "../../container/vector/Vector.h"


class McGuireMutex : public Mutex
{
	private:
		//creates a mutex
		McGuireMutex();
		//creates a new mutex given a resource
		McGuireMutex(Resource* id);
		McGuireMutex(unsigned int code);
		static Manager manager;

	public:	
		static Mutex* registerMutex(unsigned int code, Owner* requestor);
		
		void lock();
		
		void unlock();
	
};




#endif
